C'est Quoi Un ESP32 WROOM 32:

L'ESP32 WROOM 32 est un module microcontrôleur compact et puissant développé par Espressif Systems. Il intègre la puce ESP32, qui fait partie de la famille ESP (Espressif Systems Products). Le module WROOM 32 est largement utilisé dans divers systèmes embarqués et applications de l'Internet des objets (IoT) en raison de ses fonctionnalités avancées et de ses capacités.

Spécifications de l'ESP32 WROOM 32 :

L'ESP32 WROOM 32 présente les spécifications suivantes :

Microcontrôleur Processeur dual-core Tensilica Xtensa LX6 (fréquence d'horloge de 240 MHz).
Connectivité sans filConnectivité Wi-Fi intégrée 802.11 b/g/n. Connectivité Bluetooth intégrée (Bluetooth Low Energy, BLE).
Mémoire 520 Ko de SRAM.
448 Ko de ROM (mémoire de programme). Support en option pour une mémoire flash externe SPI.
PériphériquesPériphériques Pins GPIO (Entrée/Sortie à usage général).
UART, SPI, I2C, I2S, ADC, DAC.
PWM (Modulation de Largeur d'Impulsion).
Capteur à effet Hall.
Sécurité  Fonctionnalités de sécurité basées sur le matériel, y compris le démarrage sécurisé et le chiffrement de la mémoire flash.
Gestion de l'alimentationModes de faible consommation multiples pour une efficacité énergétique. Régulateur programmable pour l'alimentation du cœur.
Tension de fonctionnement2.2V to 3.6V.
Température de fonctionnement"-40°C to +85°C"
Facteur de formeModule compact avec des bords à créneaux pour une soudure facile.
Horloges et minuteriesHorloge temps réel (RTC) intégrée. Minuteries et watchdogs pour les applications sensibles au temps.
Antenne intégréeAntenne intégrée pour la communication Wi-Fi et Bluetooth.
CertificationsCertifications FCC, CE, IC, et autres pour la conformité.
Support de développementSupport de l'IDE Arduino pour la programmation. Support MicroPython. Kit de développement logiciel (SDK) fourni par Espressif Systems.
Options d'emballageDisponible dans différentes options d'emballage, y compris les populaires ESP32 WROOM 32D et ESP32 WROOM 32U.
DimensionsLes dimensions typiques du module sont d'environ 18 mm x 25,5 mm.

ESP32 WROOM 32 GPIO Pins:

Le module ESP32 WROOM-32 dispose d'un ensemble de broches GPIO (Entrée/Sortie à Usage Général) qui peuvent être utilisées à diverses fins, notamment en tant qu'entrées/sorties numériques, entrées analogiques, modulation de largeur d'impulsion (PWM), et interfaces de communication telles que UART, I2C et SPI. La correspondance exacte des broches peut dépendre du module ESP32 spécifique ou de la carte de développement utilisée, il est donc essentiel de se référer à la documentation spécifique à votre appareil.

Voici un aperçu général des broches GPIO que l'on retrouve généralement sur le module ESP32 WROOM-32 :

Broches numériques à usage général

GPIO 0,GPIO 1,GPIO 2,GPIO 3
GPIO 4,GPIO 5,GPIO 6,GPIO 7
GPIO 8,GPIO 9,GPIO 10,GPIO 11
GPIO 12,GPIO 13,GPIO 14,GPIO 15
GPIO 16,GPIO 17,GPIO 18,GPIO 19
GPIO 21,GPIO 22,GPIO 23,GPIO 25
GPIO 26,GPIO 27,GPIO 32,GPIO 33
GPIO 34,GPIO 35,GPIO 36,GPIO 37
GPIO 38,GPIO 39

Broches à fonction spécial

RX0, TX0: Serial communication pins (UART0).
RX1, TX1: Serial communication pins (UART1).
SCL, SDA: I2C communication pins.
SCK, MOSI, MISO: SPI communication pins.
A0: Analog input.
Broches d'alimentation3V3: 3.3V power output.
GND: Ground.
Broches de controleEN (Enable): Enable pin.
BOOT: Boot mode selection pin.

Broches d'Entrée/Sortie Numériques (GPIO):

Les broches GPIO sont utilisées pour les opérations d'entrée/sortie :

  • GPIO 0: Numéro de pin 36
  • GPIO 1: Numéro de pin 37
  • GPIO 2: Numéro de pin 38
  • GPIO 3: Numéro de pin 39
  • GPIO 4: Numéro de pin 34
  • GPIO 5: Numéro de pin 14
  • GPIO 6: Numéro de pin 12
  • GPIO 7: Numéro de pin 13
  • GPIO 8: Numéro de pin 15
  • GPIO 9: Numéro de pin 9
  • GPIO 10: Numéro de pin 2
  • GPIO 11: Numéro de pin 0
  • GPIO 12: Numéro de pin 4
  • GPIO 13: Numéro de pin 2
  • GPIO 14: Numéro de pin 15
  • GPIO 15: Numéro de pin 2
  • GPIO 16: Numéro de pin 17

Elles peuvent être configurées comme des entrées ou des sorties selon les besoins du projet.

Entrées Analogiques:

Certaines broches peuvent être utilisées comme entrées analogiques pour mesurer des signaux de tension variables.

  • ADC 0: Numéro de pin 36
  • ADC 1: Numéro de pin 37
  • ADC 2: Numéro de pin 38
  • ADC 3: Numéro de pin 39
  • ADC 4: Numéro de pin 32
  • ADC 5: Numéro de pin 33
  • ADC 6: Numéro de pin 34
  • ADC 7: Numéro de pin 35

Modulation de Largeur d'Impulsion (PWM):

Plusieurs broches prennent en charge la modulation de largeur d'impulsion, permettant le contrôle de la vitesse des moteurs, la luminosité des LED, etc.

  • PWM 0: Numéro de pin 2
  • PWM 1: Numéro de pin 4
  • PWM 2: Numéro de pin 5
  • PWM 3: Numéro de pin 18
  • PWM 4: Numéro de pin 19
  • PWM 5: Numéro de pin 21

Interfaces de Communication:

UART (Universal Asynchronous Receiver-Transmitter): Les broches dédiées à l'UART facilitent la communication série.

  • UART 0 (TX/RX): Numéro de pin 1 (TX), Numéro de pin 3 (RX)
  • UART 1 (TX/RX): Numéro de pin 17 (TX), Numéro de pin 16 (RX)

I2C (Inter-Integrated Circuit): Des broches sont réservées pour la communication série à deux fils, permettant la connexion à des périphériques I2C.

  • I2C (SDA/SCL): Numéro de pin 21 (SDA), Numéro de pin 22 (SCL)

SPI (Serial Peripheral Interface): Des broches sont attribuées à l'interface SPI pour la communication avec des dispositifs externes.

  • SPI (MISO/MOSI/SCK/SS): Numéro de pin 19 (MISO), Numéro de pin 23 (MOSI), Numéro de pin 18 (SCK), Numéro de pin 5 (SS).

Note Importante :

  • Certains broches GPIO ont des fonctions spéciales pendant le démarrage ou sont dédiées à des interfaces de communication spécifiques.
  • Consultez la documentation spécifique de votre module ESP32 ou de votre carte de développement pour obtenir la correspondance précise des broches et leurs capacités.

Lorsque vous travaillez avec le module ESP32 WROOM-32, il est essentiel de vous référer à la fiche technique ou au manuel de référence technique fourni par Espressif Systems ou le fabricant de votre module spécifique

Programmation :

La programmation du module ESP32 WROOM-32 implique l'écriture de code dans un langage de programmation que le microcontrôleur comprend. Les langages les plus courants pour programmer l'ESP32 sont le C/C++ en utilisant l'IDE Arduino ou l'ESP-IDF (Espressif IoT Development Framework), ainsi que MicroPython. Voici un bref aperçu de la programmation de l'ESP32 WROOM-32 avec l'IDE Arduino

Arduino IDE:

Il y a plusieurs étapes à suivre pour programmer dans l'IDE Arduino ::

Installer l'IDE Arduino :

  • Téléchargez et installez l'IDE Arduino depuis le site officiel d'Arduino.

Installer le Support de la Carte ESP32 :

  • Ouvrez l'IDE Arduino.
  • Allez dans "Fichier" -> "Préférences".
  • Dans le champ "URLs de gestionnaire de cartes supplémentaires", ajoutez l'URL suivante https://dl.espressif.com/dl/package_esp32_index.json et cliquez sur "OK".
  • Allez dans "Outils" -> "Carte" -> "Gestionnaire de cartes".
  • Recherchez "esp32" et installez le support de carte "ESP32 par Espressif Systems".

Sélectionnez la carte ESP32 :

  • Allez dans "Outils" -> "Carte" et sélectionnez votre carte ESP32 (par exemple, "Node32s").

Écrivez votre code et téléversez-le:

  • Écrivez votre code Arduino dans l'IDE Arduino.
  • Assurez-vous d'inclure les bibliothèques nécessaires pour votre projet.
  • Connectez votre ESP32 à votre ordinateur via un câble USB. Sélectionnez le port COM correct sous "Outils" -> "Port."
  • Cliquez sur le bouton "Téléverser" pour compiler et transférer votre code vers l'ESP32.

Note:

Après la phase de téléversement, si vous obtenez ce message :

Vous avez simplement besoin d'appuyer sur le bouton de démarrage sur la carte pendant quelques secondes, puis de le relâcher, activant ainsi la transmission et l'écriture du code sur la puce de l'ESP3

.

À la fin, si le message que vous obtenez est le même que sur la photo, cela signifie que votre téléversement est complet sans problème.

 

MicroPython:

Thonny IDE:

Thonny est un environnement de développement intégré (IDE) Python qui peut être utilisé avec MicroPython sur l'ESP32. Voici un guide de base sur la façon d'utiliser Thonny avec l'ESP32 :"

Installer Thonny :

Installer esptool :

  • Ouvrez Thonny et accédez au menu "Outils". Sélectionnez "Gérer les paquets..." Dans le Gestionnaire de paquets, recherchez "esptool" et installez-le.

Installer le micrologiciel MicroPython :

  • Téléchargez le micrologiciel MicroPython pour ESP32 depuis le site MicroPython https://micropython.org/download/esp32/ Connectez votre ESP32 à votre ordinateur via un câble USB.

  • Ouvrez Thonny et allez dans le menu "Outils". Sélectionnez "Options..." Dans la boîte de dialogue Options, allez dans l'onglet "Interpréteur". Sélectionnez "MicroPython (ESP32)" dans le menu déroulant. Cliquez sur "OK" pour fermer la boîte de dialogue Options.

  • Cliquez sur le bouton "Exécuter" dans Thonny pour ouvrir le REPL MicroPython.

Flasher le micrologiciel MicroPython :

  • Vous pouvez utiliser esptool depuis Thonny pour flasher le micrologiciel MicroPython sur votre ESP32.

  • Allez dans le menu "Affichage" et sélectionnez "Panneaux" -> "Shell" pour ouvrir le Shell Thonny.

  • Dans le Shell, utilisez la commande esptool pour flasher le micrologiciel. Par exemple : esptool.py --port /votre/port/esp --baud 460800 write_flash --flash_size=detect 0 /chemin/vers/micrologiciel-micropython.bin Remplacez /votre/port/esp par le port auquel votre ESP32 est connecté et /chemin/vers/micrologiciel-micropython.bin par le chemin du micrologiciel MicroPython que vous avez téléchargé.

Écrire et exécuter du code MicroPython :

  • Après le flashage, vous pouvez utiliser Thonny pour écrire et exécuter du code MicroPython sur votre ESP32. Écrivez votre script MicroPython dans l'éditeur Thonny. Utilisez le bouton "Exécuter" pour exécuter le code.

Transférer des fichiers :

  • Thonny dispose d'un outil de transfert de fichiers intégré pour les appareils MicroPython.
  • Utilisez le menu "Fichier" pour ouvrir la boîte de dialogue "Transférer des fichiers vers l'appareil". Utilisez cette boîte de dialogue pour transférer des fichiers Python sur votre ESP32."

Conclusion:

En conclusion, l'ESP32 WROOM-32 est un module microcontrôleur polyvalent et riche en fonctionnalités qui a gagné en popularité au sein des communautés des créateurs et de l'IoT. Sa combinaison de performances, d'options de connectivité et d'un écosystème de développement robuste en fait un choix convaincant pour une grande variété de projets.